package xcmg.device.dao.mapper.sale;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import xcmg.device.dao.entity.sale.SalesBillDetailDO;
import xcmg.device.service.vo.sale.SalesBillDetailVO;

import java.math.BigDecimal;
import java.util.List;

@Mapper
@Repository
public interface SalesBillDetailMapper {
    int deleteBySalasBillNo(String id);

    int insertSelective(SalesBillDetailDO record);

    SalesBillDetailDO selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(SalesBillDetailDO record);

    List<SalesBillDetailDO> list(SalesBillDetailVO record);

    List<SalesBillDetailDO> selectBySalesBillNo(@Param("salesBillNo") String salesBillNo);

    int updateStatusByMelNoSalesNo(@Param("salesBillNo") String salesBillNo,@Param("materialsNo") String materialsNo,@Param("status") Integer status);

    Integer checkWhetherNoOutbound(@Param("salesNo") String salesNo);

    BigDecimal querySalesQty(@Param("borrowBillNo")String borrowBillNo, @Param("materialsNo")String materialsNo);

    SalesBillDetailDO getInfoByBillNoMate(@Param("salesBillNo") String salesBillNo,@Param("materialsNo") String materialsNo);

    int updateCreateOutQty(SalesBillDetailDO detailDO);

    Integer checkOutboundStatus(@Param("salesNo") String salesNo);

    Integer checkCreateOutboundStatus(@Param("salesNo") String salesNo);

    Integer getCrateQtyBigZeroCount(@Param("salesNo") String salesNo);
}